from selenium import webdriver
import time
import os


class ProgHubParser(object):
    def __init__(self, driver, lang, url):
        self.driver = driver
        self.lang = lang
        self.url = url

    def parse(self):  # метод запуска парсера
        self.go_to_tests_page()  # переход на страницу с вопросами

    def go_to_tests_page(self):
        self.driver.get(self.url)
        # сбор контета
        test_cards = self.driver.find_elements_by_class_name('testCard')

        # получение конкретной ссылки https://proghub.ru/t/python-tuples
        # test_link = test_cards[8].find_element_by_tag_name("a").get_attribute("href")
        # print(test_link)

        # получение всех ссылок
        for elem in test_cards:
            print(elem.find_element_by_tag_name("a").get_attribute("href"))


def time_watcher():
    start_time = time.time()
    print('--- %s seconds ---' % (time.time() - start_time))


def main():
    # url = 'https://proghub.ru/tests'
    url = 'https://proghub.ru/tests'
    path_driver = os.path.join('E:\ProgramsWebMastering', "chromedriver.exe")
    # print(path_driver)
    driver = webdriver.Chrome(executable_path=path_driver)
    scraper = ProgHubParser(driver, "python", url)

    scraper.parse()


if __name__ == '__main__':
    main()
    time_watcher()
